package com.jprocms.module.cms.es.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author jprocms
 */

@Data
@Schema(description = "内容es前台查询dto")
public class EsFrontSearchDto {
    @Schema(description = "内容标题")
    private String title;
    @Schema(description = "搜索关键词")
    private List<String> keyWords;
    @Schema(description = "搜索关键词条件 1 shoud可以  2must必须  3 mustnot必须不包含")
    private Integer qMatchType = 1;
    @Schema(description = "搜索关键词位置 1标题  2内容  3标题或者内容 4作者 5来源")
    private Integer qMathPos = 1;
    @Schema(description = "站点id")
    private Long siteId;
    @Schema(description = "栏目id集合")
    private List<Long> channelIds;
    @Schema(description = "置顶级别")
    private Integer topLevel;
    @Schema(description = "排序")
    private Integer orderBy;
    @Schema(description = "发布时间开始")
    private Date releaseTimeStart;
    @Schema(description = "发布时间结束")
    private Date releaseTimeEnd;
    @Schema(description = "页码")
    private Long pageNo = 1L;
    @Schema(description = "一页多少条")
    private Long pageSize = 20L;
    @Schema(description = "状态")
    private Integer status = 1;
    @Schema(description = "搜索起始位置")
    private Integer offset;
    @Schema(description = "作者")
    private String author;
    @Schema(description = "来源")
    private String source;

    @Schema(description = "模型")
    private List<Long> modelIds;

    @Schema(description = "标记属性")
    private List<Long> dictMarks;
    @Schema(description = "区块ID")
    private List<Long> dictBlocks;

    @Schema(description = "排除的标记属性")
    private List<Long> excludeDictMarks;
    @Schema(description = "排除的区块ID")
    private List<Long> excludeDictBlocks;
    @Schema(description = "tagid")
    private List<Long> tagIds;
    @Schema(description = "创建时间开始")
    private Date createTimeStart;
    @Schema(description = "创建时间开始")
    private Date createTimeEnd;
    @Schema(description = "排除id")
    private List<Long> excludeIds;
    @Schema(description = "自定义字段查询")
    private Map<String, Object> customs;
    @Schema(description = "是否搜索文档内容")
    private boolean docSearchSupport = false;
}
